package com.wgy.day38方法引用.通过this引用本类成员方法;

/**
 * Created by pc on 2020/12/14 22:31
 * Description: LearningJava
 */
/*
* 通过this引用本类的成员方法
* */
public class Husband {
    //定义一个买房子的方法
    public void buyHouse(){
        System.out.println("北京买一套四合院");
    }

    //定义一个结婚的方法,参数传递Richable接口
    public void marry(Richable r){
        r.buy();
    }
    //定义一个非常高兴的方法
    public void  happy(){
      /*  //调用结婚的方法,方法的参数是一个函数式接口.所以可以传递Lambda表达式
        marry(()->{
            //使用this.成员方法调用本类的成员方法:buyHouse
            this.buyHouse();
        });
        */
        //使用this引用本类成员方法优化Lambda表达式
        //this是已经存在的,本类的成员方法buyHouse也是已经存在的,所以我们可以直接使用this来直接引用本类的成员方法buyHouse
        marry(this::buyHouse);




    }

    public static void main(String[] args) {
        new Husband().happy();
    }

}
